#ifndef _VN_SFML_SOUND_MANAGER_H_
#define _VN_SFML_SOUND_MANAGER_H_

#include <map>
#include "..\Audio\SFMLMusic.h"
#include "..\Audio\SFMLSound.h"
#include "SFML\Audio.hpp"
#include "..\Generic\DataFilepath.h"

class SFMLSoundManager
{
public:
	SFMLSoundManager(void);
	virtual ~SFMLSoundManager(void);

	vn::SFMLSound* loadSound(const std::string& p_id);
	vn::SFMLMusic* loadMusic(const std::string& p_filepath);

	void destroyAudioBuffer(const std::string& p_id);
	void clear();

protected:
	std::map<std::string, sf::SoundBuffer> m_sounds;
	DataFilepath m_dataFilepath;
};

#endif // _VN_SFML_SOUND_MANAGER_H_